Repository navigation
郵便番号・バーコードマニュアルの抜き出しの補足ルールに対応 - #7
Merged
Merged
Conversation
- 特定文字(丁目、番地、号、ノ など)の前の漢数字を算用数字に変換する(補足ルール1) - 算用数字に続く"F"は抜き出さず、後ろに抜き出す文字があればハイフンにする(補足ルール2、3) - 住所A(町域名まで)と住所B(町域名以降)を分けて受け取る Create を追加し、 住所Bだけから抜き出すようにした - 1.x の出力がマニュアルと異なる5ケースを比較用データから外し、 マニュアルの例を期待値にしたテストを追加 - README と CLAUDE.md を更新 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HNb8H3ydQTR8dWU8d28osE
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
郵便番号・バーコードマニュアル p19 の「抜き出しの補足ルール」に対応しました。これまでは補足ルールに対応しておらず、漢数字の番地や「2F」のような階数を含む住所で、誤ったバーコードを出力していました。
対応したルール
60111-6-1-601287-28…2F…2…2F201…2-201ルール 4、5 は今の実装ですでにマニュアルどおりの動きだったため、コメントに対応を書き足しました。
漢数字は、「十一」「千二百三十四」のような位取りのある書き方と、「二〇五」のような位取りのない書き方の両方に対応しています。
API の追加
マニュアルでは、住所を住所A(町域名まで)と住所B(町域名以降)に分け、住所Bだけから抜き出すことになっています。これに合わせて次のようにしました。
Create(郵便番号, 住所A, 住所B)を追加。 抜き出しは住所Bだけから行う。住所Bが住所Aで始まる場合(住所全体が入っていた場合)は、その部分を取り除いてから処理する。Create(郵便番号, 住所)は残した。 住所全体を住所Bとして扱うため、町域名に特定文字の前の漢数字を含む住所(一番町、八丁堀、三ノ輪 など)では誤ったバーコードになる。この制限を XML コメントと README に書き、3 引数版を勧めている。出力が変わる既存ケース
1.x の出力との比較テストのうち、次の 5 ケースは補足ルールにより出力が変わるため、比較用データから外しました。
4-101-1)、第二地割(2-1):マニュアルに載っている例ではなく、ルール 1 の「丁」「地割」に当てはめた解釈。テスト
dotnet testで 109 件すべて成功。🤖 Generated with Claude Code
https://claude.ai/code/session_01HNb8H3ydQTR8dWU8d28osE